﻿using System;
using System.Collections.Generic;

namespace mebc.reflection
{
    public class MetaData
    {
        public MetaData()
        {
            this.InputPins = new Type[0];
            this.OutputPins = new Type[0];
            this.Wires = new Wire[0];
        }

        public string Id { get; internal set; }
        public Type Type { get; internal set; }
        public string Name { get { return this.Type.FullName; } }
        public bool IsBoard { get { return this.Type.BaseType == typeof (Board); } }

        public IEnumerable<Type> InputPins { get; internal set; }
        public IEnumerable<Type> OutputPins { get; internal set; }
        public IEnumerable<Wire> Wires { get; internal set; }
    }
}